package lx.scrmXj.pojo;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lx.util.StrUtil;

/**
 * @Description:
 * @Author: 李星 lixing_java@163.com
 * @Date: 2020/3/8 18:55
 */
public class UserFieldCompatible {
    public static void userFieldCompatible(JSONArray userList) {
        for (int i = 0; i < userList.size(); i ++) {
            JSONObject jsonObject = userList.getJSONObject(i); // 成员详情

            String userid = jsonObject.getString("userid"); // 成员UserID。对应管理端的帐号
            jsonObject.put("userid", StrUtil.isEffective(userid) ? userid : "");

            String name = jsonObject.getString("name"); // 成员名称
            jsonObject.put("name", StrUtil.isEffective(name) ? name : "");

            String english_name = jsonObject.getString("english_name"); // 英文名
            jsonObject.put("englishName", StrUtil.isEffective(english_name) ? english_name : "");
            jsonObject.remove("english_name");

            String alias = jsonObject.getString("alias"); // 别名；第三方仅通讯录应用可获取
            jsonObject.put("alias", StrUtil.isEffective(alias) ? alias : "");

            String mobile = jsonObject.getString("mobile"); // 手机号码，第三方仅通讯录应用可获取
            jsonObject.put("mobile", StrUtil.isEffective(mobile) ? mobile : "");

            String department = jsonObject.getString("department"); // 成员所属部门id列表，仅返回该应用有查看权限的部门id
            jsonObject.put("department", StrUtil.isEffective(department) ? department : "");

            String order = jsonObject.getString("order"); // 部门内的排序值，默认为0,必须和department一致，数值越大排序越前面
            jsonObject.put("order", StrUtil.isEffective(order) ? order : "0");

            String position = jsonObject.getString("position"); // 职务信息；第三方仅通讯录应用可获取
            jsonObject.put("position", StrUtil.isEffective(position) ? position : "");

            String gender = jsonObject.getString("gender"); // 性别。0表示未定义，1表示男性，2表示女性
            jsonObject.put("gender", StrUtil.isEffective(gender) ? gender : 0);

            String email = jsonObject.getString("email"); // 邮箱，第三方仅通讯录应用可获取
            jsonObject.put("email", StrUtil.isEffective(email) ? email : "");

            String telephone = jsonObject.getString("telephone"); // 座机。第三方仅通讯录应用可获取
            jsonObject.put("telephone", StrUtil.isEffective(telephone) ? telephone : "");

            String is_leader_in_dept = jsonObject.getString("is_leader_in_dept"); // 表示在所在的部门内是否为上级；第三方仅通讯录应用可获取
            jsonObject.put("isLeaderInDept", is_leader_in_dept);
            jsonObject.remove("is_leader_in_dept");

            String isleader = jsonObject.getString("isleader"); // 是否领导
            jsonObject.put("isleader", StrUtil.isEffective(isleader) ? isleader : 0);

            String avatar_mediaid = jsonObject.getString("avatar_mediaid"); // 成员头像的mediaid，通过素材管理接口上传图片获得的mediaid
            jsonObject.put("avatarMediaid", StrUtil.isEffective(avatar_mediaid) ? avatar_mediaid : "");
            jsonObject.remove("avatar_mediaid");

            String enable = jsonObject.getString("enable"); // 成员启用状态。1表示启用的成员，0表示被禁用。服务商调用接口不会返回此字段
            jsonObject.put("enable", StrUtil.isEffective(enable) ? enable : 1);

            String avatar = jsonObject.getString("avatar"); // 头像url。第三方仅通讯录应用可获取
            jsonObject.put("avatar", StrUtil.isEffective(avatar) ? avatar : "");

            String thumb_avatar = jsonObject.getString("thumb_avatar"); // 头像缩略图url。第三方仅通讯录应用可获取
            jsonObject.put("thumbAvatar", StrUtil.isEffective(thumb_avatar) ? thumb_avatar : "");
            jsonObject.remove("thumb_avatar");

            String status = jsonObject.getString("status"); // 激活状态(1：已激活，2:已禁用，4:未激活 )已激活代表已激活企业微信或已关注微工作台（原企业号）。未激活代表既未激活企业微信又未关注微工作台（原企业号）。
            jsonObject.put("status", StrUtil.isEffective(status) ? status : 1);

            String qr_code = jsonObject.getString("qr_code"); // 员工个人二维码，扫描可添加为外部联系人；第三方仅通讯录应用可获取
            jsonObject.put("qrCode", StrUtil.isEffective(qr_code) ? qr_code : "");
            jsonObject.remove("qr_code");

            String address = jsonObject.getString("address"); // 地址
            jsonObject.put("address", StrUtil.isEffective(address) ? address : "");

            String hide_mobile = jsonObject.getString("hide_mobile"); // 是否隐藏手机号
            jsonObject.put("hideMobile", StrUtil.isEffective(hide_mobile) ? hide_mobile : 0);
            jsonObject.remove("hide_mobile");

            String to_invite = jsonObject.getString("to_invite"); // 是否邀请该成员使用企业微信（将通过微信服务通知或短信或邮件下发邀请，每天自动下发一次，最多持续3个工作日），默认值为true
            jsonObject.put("toInvite", StrUtil.isEffective(to_invite) ? to_invite : "");
            jsonObject.remove("to_invite");

            String external_position = jsonObject.getString("external_position"); // 对外职务， 第三方仅通讯录应用可获取。如果设置了该值，则以此作为对外展示的职务，否则以position来展示。长度12个汉字内
            jsonObject.put("externalPosition", StrUtil.isEffective(external_position) ? external_position : "");
            jsonObject.remove("external_position");

            String external_profile = jsonObject.getString("external_profile"); // 成员对外属性
            jsonObject.put("externalProfile", StrUtil.isEffective(external_profile) ? external_profile : "");
            jsonObject.remove("external_profile");

            String extattr = jsonObject.getString("extattr"); // 扩展属性，第三方仅通讯录应用可获取
            jsonObject.put("extattr", StrUtil.isEffective(extattr) ? extattr : "");
        }
    }
}
